/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package weatherdata;

import Control.GenerarDatos;
import Entidad.Data;
import Entidad.Sesion;
import java.util.ArrayList;

/*informa la velocidad del viento m/h, visibilidad en millas, y direccion del viento
  E,W,N,S 
 *
 * @author Omar Beltran
 */
public class WindData {
    private double windSpeed;
    private double visibility;
    private char diretion;
    private GenerarDatos generarDatos = new GenerarDatos();
    private Sesion sesion = new Sesion();
    
    /*
     * La máxima velocidad del viento registrada se encuentra en el Monte Washington, 
     * Estados Unidos: el 12 de marzo de 1934, 232 Millas por hora; pero en general 
     * el lugar más ventoso es Commonwealth Bay, en la Antártida, donde se han sentido 
     * ráfagas de 200 Millas por hora.
     * 
     * Tomamos como referencia 1 Milla = 1.6 Kilometros
     *
     * Para la visibilidad tomamos como objetos estandar uno de tamaño 2 metros con lo
     * cual tendriamos una visibilidad de 1,25 Millas
     * 
     *  
     */
    
    /*
     * Constructor que genera aleatoriamente los 3 parametros requeridos
     * 
     */
    public void WindData(){
        this.windSpeed = generarDatos.random(232.0);
        this.visibility = generarDatos.random(50.0);
        this.diretion = generarDatos.generarDireccion();
    }
    
    public void showData(){
        //generar el tiempo de espera con maximo 59 segundos
        int tiempo = new GenerarDatos().random(59);
        
        //esperar 'tiempo' segundos  antes de mostrar los datos
        try{
            Thread.sleep(tiempo*100);
            //Creacion del objeto Data con la informacion generadara aleatoriamente
            new WindDisplay(new Data(windSpeed,visibility,diretion));
            //Agregar el dato creado a un ArrayList con de fin de dejar registro de dichos datos
            sesion.getListaDatos().add(new Data(windSpeed,visibility,diretion));
        }
        catch(Exception e){
        }
    }
    
}
